Skip to content

chore: version packages#306

Merged
edspencer merged 1 commit into
mainfrom
changeset-release/main
Jul 9, 2026
Merged

chore: version packages#306
edspencer merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@herdctl/core@5.17.0

Minor Changes

  • #304 4eec7f3 Thanks @edspencer! - Bump @anthropic-ai/claude-agent-sdk from ^0.1.0 (resolved 0.1.77) to
    ^0.3.0 (resolves 0.3.205).

    The pinned ^0.1.0 range could not cross a 0.x minor, freezing herdctl on a
    stale SDK line whose bundled JS harness lacks the current agentic toolset
    (ScheduleWakeup, ToolSearch, Cron*, Monitor, …). 0.3.x drops the
    bundled harness and instead extracts/runs the native Claude Code binary, which
    carries those tools — unblocking cross-turn autonomy (e.g. a persistent
    openSession() agent scheduling ScheduleWakeup and being re-invoked when it
    fires).

    Adapts the SDK adapter surface to the 0.3.x types:

    • Query.interrupt() now resolves to an optional interrupt-receipt object
      instead of void; the streaming RuntimeSession.interrupt() awaits and
      discards it to keep its fire-and-forget Promise<void> contract.
    • The SDK's tool() handler return type now uses a literal-typed MCP
      CallToolResult; the injected-MCP adapter casts InjectedMcpToolDef.handler
      at that boundary so the transport-agnostic tool definition stays SDK-free.

    No @herdctl/core public API changes. query(), createSdkMcpServer(),
    tool(), streaming-input AsyncIterable<SDKUserMessage>, and the Query
    control methods (interrupt, supportedCommands, setModel) all remain
    compatible. Note: the SDK peer-depends on zod@^4, while core stays on
    zod@^3; the schemas passed to tool() remain structurally compatible and
    typecheck/build/tests are green.

  • #305 1262b8e Thanks @edspencer! - Upgrade zod from ^3.22.0 to ^4.0.0 in @herdctl/core and @herdctl/chat.

    This clears the peer-dependency mismatch introduced by
    @anthropic-ai/claude-agent-sdk@0.3.x, which peer-depends on zod@^4 (the SDK's
    in-process MCP tool() schemas). Core and chat now resolve a single zod@4.

    Behavior-preserving. zod v4 changed .default() to short-circuit: a
    z.object({...}).default({}) whose fields carry their own defaults now yields a
    bare {} at runtime instead of the fully-defaulted object (v3 re-ran the value
    through the schema). The three affected config sites — work_source.labels,
    work_source.auth, and Discord output — were switched to zod v4's
    .prefault({}), which restores the v3 semantics (an omitted block is still run
    through the schema so nested field defaults are applied). Existing schema tests
    that assert those omitted-block defaults continue to pass. All other .default()
    sites use scalar/array defaults, which are unaffected.

    Also updated the in-process MCP tool adapter's tool() handler cast to match
    v4's stricter argument-shape inference.

    Note on the public surface: both packages re-export Zod schema objects from
    their entry points (@herdctl/core: config/state schemas like FleetConfigSchema
    and AgentConfigSchema; @herdctl/chat: ChannelSessionSchema,
    ChatSessionStateSchema). Those objects are now Zod v4 instances. The inferred
    (z.infer) types are structurally unchanged, so most consumers are unaffected;
    only code that composes the exported schema objects with its own Zod instance
    at runtime (.extend/.merge, instanceof, cross-instance parsing) needs to be
    on zod@^4.

@herdctl/chat@0.5.2

Patch Changes

  • #305 1262b8e Thanks @edspencer! - Upgrade zod from ^3.22.0 to ^4.0.0 in @herdctl/core and @herdctl/chat.

    This clears the peer-dependency mismatch introduced by
    @anthropic-ai/claude-agent-sdk@0.3.x, which peer-depends on zod@^4 (the SDK's
    in-process MCP tool() schemas). Core and chat now resolve a single zod@4.

    Behavior-preserving. zod v4 changed .default() to short-circuit: a
    z.object({...}).default({}) whose fields carry their own defaults now yields a
    bare {} at runtime instead of the fully-defaulted object (v3 re-ran the value
    through the schema). The three affected config sites — work_source.labels,
    work_source.auth, and Discord output — were switched to zod v4's
    .prefault({}), which restores the v3 semantics (an omitted block is still run
    through the schema so nested field defaults are applied). Existing schema tests
    that assert those omitted-block defaults continue to pass. All other .default()
    sites use scalar/array defaults, which are unaffected.

    Also updated the in-process MCP tool adapter's tool() handler cast to match
    v4's stricter argument-shape inference.

    Note on the public surface: both packages re-export Zod schema objects from
    their entry points (@herdctl/core: config/state schemas like FleetConfigSchema
    and AgentConfigSchema; @herdctl/chat: ChannelSessionSchema,
    ChatSessionStateSchema). Those objects are now Zod v4 instances. The inferred
    (z.infer) types are structurally unchanged, so most consumers are unaffected;
    only code that composes the exported schema objects with its own Zod instance
    at runtime (.extend/.merge, instanceof, cross-instance parsing) needs to be
    on zod@^4.

  • Updated dependencies [4eec7f3, 1262b8e]:

    • @herdctl/core@5.17.0

herdctl@1.5.23

Patch Changes

  • Updated dependencies [4eec7f3, 1262b8e]:
    • @herdctl/core@5.17.0
    • @herdctl/discord@1.2.14
    • @herdctl/slack@1.2.27
    • @herdctl/web@0.9.25

@herdctl/discord@1.2.14

Patch Changes

  • Updated dependencies [4eec7f3, 1262b8e]:
    • @herdctl/core@5.17.0
    • @herdctl/chat@0.5.2

@herdctl/slack@1.2.27

Patch Changes

  • Updated dependencies [4eec7f3, 1262b8e]:
    • @herdctl/core@5.17.0
    • @herdctl/chat@0.5.2

@herdctl/web@0.9.25

Patch Changes

  • Updated dependencies [4eec7f3, 1262b8e]:
    • @herdctl/core@5.17.0
    • @herdctl/chat@0.5.2

@github-actions github-actions Bot requested a review from edspencer as a code owner July 9, 2026 02:32
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 9, 2026

Copy link
Copy Markdown

Deploying herdctl with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7c679e3
Status: ✅  Deploy successful!
Preview URL: https://5a7456e4.herdctl.pages.dev
Branch Preview URL: https://changeset-release-main.herdctl.pages.dev

View logs

@github-actions github-actions Bot force-pushed the changeset-release/main branch from b05fd62 to 7c679e3 Compare July 9, 2026 02:36
@edspencer edspencer merged commit d5b06c7 into main Jul 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant